package com.psmz.mqim.ui;

import java.util.Observable;
import java.util.Observer;

import javax.swing.JTextArea;

import com.psmz.mqim.job.MessagePoller;
import com.psmz.mqim.model.IMMessage;

/**
 * Obserwator aktualizujacy pole tekstowe
 * 
 * @author pszwarc
 * 
 */
public class TextAreaUpdater implements Observer {

	private JTextArea textArea;

	public TextAreaUpdater(JTextArea area) {
		textArea = area;
	}

	@Override
	public void update(Observable o, Object arg) {
		if (o instanceof MessagePoller && arg instanceof IMMessage) {
			IMMessage message = (IMMessage) arg;
			textArea.append(message.format());
		} else {
			throw new IllegalArgumentException(
					"Nieprawidlowa notyfikacja wyslana do obserwatora");
		}
	}

}
